package com.dandelion.api.domain;

import com.dandelion.common.dao.auto.pojo.Order;
import com.fasterxml.jackson.annotation.JsonIgnore;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;

public class OrderAdapterVO implements Serializable {
    private Order order;
    private String cstAddr;
    private String topCatName;
    private String svrName;
    private String exprComName;
    private String exprStatusName;
    private String statusName;
    private List<OrderItemAdapterVO> items;

    public String getExprStatusName() {
        return exprStatusName;
    }

    public void setExprStatusName(String exprStatusName) {
        this.exprStatusName = exprStatusName;
    }

    public Byte getExprStatus() {
        return order.getExprStatus();
    }

    public OrderAdapterVO(Order order) {
        this.order = Objects.requireNonNull(order, "order is null");
    }

    public String getCstExpectDeliverDate() {
        return order.getCstExpectDeliverDate();
    }

    public String getEstDeliverDate() {
        return order.getEstDeliverDate();
    }

    @JsonIgnore
    public Order getOrder() {
        return order;
    }

    public String getSvrName() {
        return svrName;
    }

    public void setSvrName(String svrName) {
        this.svrName = svrName;
    }

    public List<OrderItemAdapterVO> getItems() {
        return items;
    }

    public void setItems(List<OrderItemAdapterVO> items) {
        this.items = items;
    }


    public String getTopCatName() {
        return topCatName;
    }

    public void setTopCatName(String topCatName) {
        this.topCatName = topCatName;
    }

    public String getCstAddr() {
        return cstAddr;
    }

    public void setCstAddr(String cstAddr) {
        this.cstAddr = cstAddr;
    }

    public String getPkAddr() {
        return this.order.getPkAddr();
    }

    public String getExprComName() {
        return exprComName;
    }

    public void setExprComName(String exprComName) {
        this.exprComName = exprComName;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getOrderNo() {
        return order.getOrderNo();
    }

    public String getUserId() {
        return String.valueOf(order.getUserId());
    }

    public String getOrderCctName() {
        return order.getOrderCctName();
    }

    public String getOrderCctMobile() {
        return order.getOrderCctMobile();
    }

    public String getCstName() {
        return order.getCstName();
    }

    public String getCstMobile() {
        return order.getCstMobile();
    }

    public Byte getBldLift() {
        return order.getBldLift();
    }

    public String getBldFloor() {
        return order.getBldFloor();
    }

    public Byte isVerify() {
        return order.getVerify();
    }

    public Byte isExprArrived() {
        return order.getExprStatus();
    }

    public String getExprOrderNo() {
        return order.getExprOrderNo();
    }

    public String getPkCctName() {
        return order.getPkCctName();
    }

    public String getPkCctMobile() {
        return order.getPkCctMobile();
    }

    public Integer getPkgNum() {
        return order.getPkgNum();
    }

    public Byte getPreFrPay() {
        return order.getPreFrPay();
    }

    public String getSpecialReq() {
        return order.getSpecialReq();
    }

    public long getCreateTime() {
        return order.getCreateTime().getTime() / 1000;
    }
    public Byte getVerify() {
        return order.getVerify();
    }
    public String getVerifyCode() {
        return order.getVerifyCode();
    }
}